package CapaLogica;

import ve.edu.ucab.cliente.ClienteSocket;

public class ComunicacionServidor
{
    private static ClienteSocket cliente = new ClienteSocket();
    private static String direccionServidor = "localhost";

    public static String login (String usuario, char[] laClave) {
        String clave = convertirClave(laClave);
        String mensaje = "1:" + usuario + ":" + clave;
        System.out.print(mensaje + "\n");
        return cliente.ejecutarPeticion (mensaje, direccionServidor, 7687);
    }

    public static String realizarReservacion (String fechaInicio, String fechaFin, String fechaActual, String habitacion, String cedula) {
        String mensaje = "2:" + fechaInicio + ":" + fechaFin + ":" + fechaActual + ":" + habitacion + ":" + cedula;
        System.out.print(mensaje + "\n");
        return cliente.ejecutarPeticion (mensaje, direccionServidor, 7687);
    }

    public static String registrarUsuario (String nombre, String apellido, String cedula, char sexo, String fechaNacimiento, char estadoCivil, String nacionalidad, String usuario, char[] laClave) {
        String clave = convertirClave(laClave);
        String validacion = ValidarFormulario.validarRegistroUsuario (usuario, clave, nombre, apellido, cedula, nacionalidad, sexo, estadoCivil);

        if (validacion.equals("TRUE"))
        {
            String mensaje = "3:" + nombre + ":" + apellido + ":" + cedula + ":" + sexo + ":" + fechaNacimiento + ":" + estadoCivil + ":" + usuario + ":" + clave + ":" + nacionalidad;
            System.out.println(mensaje);
            return cliente.ejecutarPeticion (mensaje, direccionServidor, 7687);
        }
        else
        {
            return validacion;
        }
    }

    public static String consultarReservacion (String cedula, String idReserva) {
        String mensaje = "4:" + cedula + ":" + idReserva;
        System.out.print(mensaje + "\n");
        return cliente.ejecutarPeticion (mensaje, direccionServidor, 7687);
    }

    public static String agregarHuesped(String cedulaCliente, String idReserva, String nombre, String apellido, String cedula, char sexo, String fechaNacimiento) {
        String mensaje = "5:" + cedulaCliente + ":" + idReserva + ":" + nombre + ":" + apellido + ":" + cedula + ":" + sexo + ":" + fechaNacimiento;
        System.out.print(mensaje + "\n");
        return cliente.ejecutarPeticion (mensaje, direccionServidor, 7687);
    }

    public static String obtenerMontoReserva(String cedula, String idReserva) {
        String mensaje = "6:" + cedula + ":" + idReserva;
        System.out.print(mensaje + "\n");
        return cliente.ejecutarPeticion (mensaje, direccionServidor, 7687);
    }

    private static String convertirClave (char[] clave) {
        String retorno = "", c;
        int i, l = clave.length;

        for (i = 0; i < l; i++)
        {
            c = Character.toString(clave[i]);
            retorno += c;
        }

        return retorno;
    }
}